Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 10.12.2013, 14:53
Аватар для kobezzza
Быдлокодер;)
Отправить личное сообщение для kobezzza Посмотреть профиль Найти все сообщения от kobezzza
 
Регистрация: 19.11.2010
Сообщений: 4,338

Запуск тасков Grunt из Node
Не могу понять, как запустить grunt из ноды, делаю так:
grunt.task.loadTasks('./');
grunt.task.run('default');


Gruntfile загружается, всё ок, но таск не выполняется. Сам таск рабочий и работает через консоль хорошо.

Сейчас делаю через создание дочернего процесса:
var grunt = require('child_process').exec('call node_modules/.bin/grunt.cmd', ['--gruntfile', 'Gruntfile.js']);

grunt.stdout.on('data', function (data) {

});

grunt.stderr.on('data', function (data) {

});

grunt.on('close', function (code) {

});


Работает, но мне не очень нравится такое решение. Мб, кто в курсе?

***

И ещё вопрос: можно ли как то задать шаблон вида:
*.styl => *.css , т.е. все файлы styl компилятся и сохраняются под таким же именем, но с расширением .css ?
__________________
kobezzza
code monkey

Последний раз редактировалось kobezzza, 10.12.2013 в 19:08.
Ответить с цитированием
  #2 (permalink)  
Старый 10.12.2013, 16:58
Аватар для kobezzza
Быдлокодер;)
Отправить личное сообщение для kobezzza Посмотреть профиль Найти все сообщения от kobezzza
 
Регистрация: 19.11.2010
Сообщений: 4,338

На второй вопрос (динамический маппинг) нашёл ответ в доке:
http://gruntjs.com/configuring-tasks...ct-dynamically
__________________
kobezzza
code monkey
Ответить с цитированием
  #3 (permalink)  
Старый 11.12.2013, 01:30
Аватар для cyber
I am Student
Отправить личное сообщение для cyber Посмотреть профиль Найти все сообщения от cyber
 
Регистрация: 17.12.2011
Сообщений: 4,415

kobezzza, тут какой то скринкаст по грант, не смотрел, случайно в твиттере увидил может пригодиться http://css-tricks.com/video-screenca...medium=twitter
__________________
Цитата:
Если ограничения и условия описываются как "коробка", то хитрость в том что бы найти именно коробку... Не думайте о чем то глобальном - найдите коробку.
Ответить с цитированием
  #4 (permalink)  
Старый 11.12.2013, 08:13
Аватар для kobezzza
Быдлокодер;)
Отправить личное сообщение для kobezzza Посмотреть профиль Найти все сообщения от kobezzza
 
Регистрация: 19.11.2010
Сообщений: 4,338

Сообщение от cyber Посмотреть сообщение
kobezzza, тут какой то скринкаст по грант, не смотрел, случайно в твиттере увидил может пригодиться http://css-tricks.com/video-screenca...medium=twitter
Спасибо за ссылку, хотя скринкаст оказался довольно бестолковым и если бы у чувака не было бы "словесного поноса", то мог бы уложить его в 5 минут
__________________
kobezzza
code monkey
Ответить с цитированием
  #5 (permalink)  
Старый 11.12.2013, 19:42
Аватар для cyber
I am Student
Отправить личное сообщение для cyber Посмотреть профиль Найти все сообщения от cyber
 
Регистрация: 17.12.2011
Сообщений: 4,415

kobezzza, а для чего вообще нужен грант, а то не особо понял из описания на их сайте? (знаю что вопрос нубский)
__________________
Цитата:
Если ограничения и условия описываются как "коробка", то хитрость в том что бы найти именно коробку... Не думайте о чем то глобальном - найдите коробку.
Ответить с цитированием
  #6 (permalink)  
Старый 11.12.2013, 21:31
Аватар для kobezzza
Быдлокодер;)
Отправить личное сообщение для kobezzza Посмотреть профиль Найти все сообщения от kobezzza
 
Регистрация: 19.11.2010
Сообщений: 4,338

Сообщение от cyber Посмотреть сообщение
kobezzza, а для чего вообще нужен грант, а то не особо понял из описания на их сайте? (знаю что вопрос нубский)
Для удобного управления тасками в проекте, если ты знаком с Make или Ant, то Grunt - это ровно тоже самое, только написано на JS под ноду и весь его функционал - это веб и обычно он справляется с ними лучше, чем тот же Ant, который создавался больше для языков вроде Java.

Если же то, что я написал выше не послужило ответом на вопрос, то вот более развёрнутый вариант: допустим у тебя есть проект, который стал довольно большим и перед тем, как залить в продакшн тебе необходимо осуществлять так называемую "сборку", а именно: склеить файлы, пожать, провести статический анализ кода, запустить тесты, оптимизировать графику, создать архивы для gzip отдачи и т.д. то очень удобно заиметь файлик, где в декларативной форме просто (и самое главное - коротко) последовательно описываются задачи.

Ну а почему стоит юзать именно Grunt - он стремительно развивается, у него большое комьюнити, его юзают крупные проекты и главное: под него уже существует огромное количество плагинов на любой случай (ну а если вдруг его не оказалось, то его легко написать самому).
__________________
kobezzza
code monkey

Последний раз редактировалось kobezzza, 11.12.2013 в 21:37.
Ответить с цитированием
  #7 (permalink)  
Старый 11.12.2013, 21:42
Аватар для cyber
I am Student
Отправить личное сообщение для cyber Посмотреть профиль Найти все сообщения от cyber
 
Регистрация: 17.12.2011
Сообщений: 4,415

kobezzza, спс, плюсануть больше не могу)
__________________
Цитата:
Если ограничения и условия описываются как "коробка", то хитрость в том что бы найти именно коробку... Не думайте о чем то глобальном - найдите коробку.
Ответить с цитированием
  #8 (permalink)  
Старый 11.12.2013, 21:47
Аватар для kobezzza
Быдлокодер;)
Отправить личное сообщение для kobezzza Посмотреть профиль Найти все сообщения от kobezzza
 
Регистрация: 19.11.2010
Сообщений: 4,338

Сообщение от cyber Посмотреть сообщение
kobezzza, спс, плюсануть больше не могу)
Нез, ничего страшного
__________________
kobezzza
code monkey
Ответить с цитированием
  #9 (permalink)  
Старый 11.12.2013, 23:30
Особый гость
Посмотреть профиль Найти все сообщения от monolithed
 
Регистрация: 02.04.2010
Сообщений: 4,260

kobezzza,
а зачем запускать таск из js?

var grunt = require('grunt');
console.log(grunt);
Просто в конце вызови grunt.cli();

Последний раз редактировалось monolithed, 11.12.2013 в 23:44.
Ответить с цитированием
  #10 (permalink)  
Старый 12.12.2013, 11:35
Аватар для kobezzza
Быдлокодер;)
Отправить личное сообщение для kobezzza Посмотреть профиль Найти все сообщения от kobezzza
 
Регистрация: 19.11.2010
Сообщений: 4,338

Сообщение от monolithed Посмотреть сообщение
kobezzza,
а зачем запускать таск из js?

var grunt = require('grunt');
console.log(grunt);
Просто в конце вызови grunt.cli();
Спасибо! А нужно, чтобы при каждом запуске/перезапуске сервера он пересобирался. Т.к. юзаю MS Azure пакет "Сайт", с настроенной синхронизацией с гитхабом, т.е. я пушу в мастер, и сервер сам перезапускается. Я хз, мб к процессу перезапуска можно приаттачить какойнить .cmd, но из ноды мне это кажется более правильным.
__________________
kobezzza
code monkey
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Какая разница между модулями DOM Level 2 и интерфейсами Node? dump Общие вопросы Javascript 3 09.08.2012 17:22
Чем можно организовать запуск скрипта атом. по времени. I5Rek Серверные языки и технологии 2 01.05.2011 23:00